
// https://es6.ruanyifeng.com/#docs/class

// 类的由来

// 构造函数的写法
function Point1(x, y) {
    this.x = x
    this.y = y
}
Point1.prototype.toString = function () {
    return '(' + this.x + ', ' + this.y + ')'
}
let p = new Point1(1, 2)


// Es6 的class写法
class Point2 {
    constructor(x, y) {
        this.x = x;
        this.y = y
    }
    toString() {
        return '(' + this.x + ', ' + this.y + ')'
    }
}

// ES6 的类，完全可以看作构造函数的另一种写法。

class Point3{
    // ....
}

console.log(typeof Point3); // function, 表明，类的数据类型就是函数
console.log(Point3 === Point3.prototype.constructor);  // true ,表明 类本身就指向构造函数。
